<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<title>OpenCV: opencv2/face/facemark_train.hpp File Reference</title>
<link href="../../opencv.ico" rel="shortcut icon" type="image/x-icon" />
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="../../tutorial-utils.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
//<![CDATA[
MathJax.Hub.Config(
{
  TeX: {
      Macros: {
          matTT: [ "\\[ \\left|\\begin{array}{ccc} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{array}\\right| \\]", 9],
          fork: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ \\end{array} \\right.", 4],
          forkthree: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ \\end{array} \\right.", 6],
          forkfour: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ #7 & \\mbox{#8}\\\\ \\end{array} \\right.", 8],
          vecthree: ["\\begin{bmatrix} #1\\\\ #2\\\\ #3 \\end{bmatrix}", 3],
          vecthreethree: ["\\begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{bmatrix}", 9],
          cameramatrix: ["#1 = \\begin{bmatrix} f_x & 0 & c_x\\\\ 0 & f_y & c_y\\\\ 0 & 0 & 1 \\end{bmatrix}", 1],
          distcoeffs: ["(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]]) \\text{ of 4, 5, 8, 12 or 14 elements}"],
          distcoeffsfisheye: ["(k_1, k_2, k_3, k_4)"],
          hdotsfor: ["\\dots", 1],
          mathbbm: ["\\mathbb{#1}", 1],
          bordermatrix: ["\\matrix{#1}", 1]
      }
  }
}
);
//]]>
</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<!--#include virtual="/google-search.html"-->
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../opencv-logo-small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenCV
   &#160;<span id="projectnumber">4.5.2</span>
   </div>
   <div id="projectbrief">Open Source Computer Vision</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../dir_52a62ec2c6c0bcdc013fc52c5033666d.html">opencv2</a></li><li class="navelem"><a class="el" href="../../dir_02e6a53598319aab44fac564810e8702.html">face</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">facemark_train.hpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../d3/d9c/facemark_8hpp.html">opencv2/face/facemark.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="../../d8/da3/objdetect_8hpp.html">opencv2/objdetect.hpp</a>&quot;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;string&gt;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/dd8/structcv_1_1face_1_1CParams.html">cv::face::CParams</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d81/classcv_1_1face_1_1FacemarkTrain.html">cv::face::FacemarkTrain</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract base class for trainable facemark models.  <a href="../../d3/d81/classcv_1_1face_1_1FacemarkTrain.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d2/d75/namespacecv"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d75/namespacecv.html">cv</a></td></tr>
<tr class="memdesc:d2/d75/namespacecv"><td class="mdescLeft">&#160;</td><td class="mdescRight">"black box" representation of the file storage associated with a file on disk. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d4/d48/namespacecv_1_1face"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d48/namespacecv_1_1face.html">cv::face</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gae0bc3cfe0eb0cccde1fc0d91c6cde9db"><td class="memItemLeft" align="right" valign="top">typedef bool(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7c/group__face.html#gae0bc3cfe0eb0cccde1fc0d91c6cde9db">cv::face::FN_FaceDetector</a>) (InputArray, OutputArray, void *userData)</td></tr>
<tr class="separator:gae0bc3cfe0eb0cccde1fc0d91c6cde9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga318d9669d5ed4dfc6ab9fae2715310f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7c/group__face.html#ga318d9669d5ed4dfc6ab9fae2715310f5">cv::face::drawFacemarks</a> (InputOutputArray image, InputArray points, Scalar color=Scalar(255, 0, 0))</td></tr>
<tr class="memdesc:ga318d9669d5ed4dfc6ab9fae2715310f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility to draw the detected facial landmark points.  <a href="../../db/d7c/group__face.html#ga318d9669d5ed4dfc6ab9fae2715310f5">More...</a><br /></td></tr>
<tr class="separator:ga318d9669d5ed4dfc6ab9fae2715310f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62cec28ecffa694e1efb272ff0c65da2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7c/group__face.html#ga62cec28ecffa694e1efb272ff0c65da2">cv::face::getFaces</a> (InputArray image, OutputArray faces, CParams *params)</td></tr>
<tr class="memdesc:ga62cec28ecffa694e1efb272ff0c65da2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default face detector This function is mainly utilized by the implementation of a <a class="el" href="../../db/dd8/classcv_1_1face_1_1Facemark.html" title="Abstract base class for all facemark models. ">Facemark</a> <a class="el" href="../../d3/d46/classcv_1_1Algorithm.html" title="This is a base class for all more or less complex algorithms in OpenCV. ">Algorithm</a>. End users are advised to use function Facemark::getFaces which can be manually defined and circumvented to the algorithm by Facemark::setFaceDetector.  <a href="../../db/d7c/group__face.html#ga62cec28ecffa694e1efb272ff0c65da2">More...</a><br /></td></tr>
<tr class="separator:ga62cec28ecffa694e1efb272ff0c65da2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64a534740d4c9aa0489da85b431fec47"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7c/group__face.html#ga64a534740d4c9aa0489da85b431fec47">cv::face::getFacesHAAR</a> (InputArray image, OutputArray faces, const String &amp;face_cascade_name)</td></tr>
<tr class="separator:ga64a534740d4c9aa0489da85b431fec47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga02020fc9f387bb043a478fe5f112bb8d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7c/group__face.html#ga02020fc9f387bb043a478fe5f112bb8d">cv::face::loadDatasetList</a> (String imageList, String annotationList, std::vector&lt; String &gt; &amp;images, std::vector&lt; String &gt; &amp;annotations)</td></tr>
<tr class="memdesc:ga02020fc9f387bb043a478fe5f112bb8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">A utility to load list of paths to training image and annotation file.  <a href="../../db/d7c/group__face.html#ga02020fc9f387bb043a478fe5f112bb8d">More...</a><br /></td></tr>
<tr class="separator:ga02020fc9f387bb043a478fe5f112bb8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab70c6fb08756f867d6160099907202a5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7c/group__face.html#gab70c6fb08756f867d6160099907202a5">cv::face::loadFacePoints</a> (String filename, OutputArray points, float offset=0.0f)</td></tr>
<tr class="memdesc:gab70c6fb08756f867d6160099907202a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A utility to load facial landmark information from a given file.  <a href="../../db/d7c/group__face.html#gab70c6fb08756f867d6160099907202a5">More...</a><br /></td></tr>
<tr class="separator:gab70c6fb08756f867d6160099907202a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd36ecb8de65bd12d8420d4a0ae98a4b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7c/group__face.html#gacd36ecb8de65bd12d8420d4a0ae98a4b">cv::face::loadTrainingData</a> (String filename, std::vector&lt; String &gt; &amp;images, OutputArray facePoints, char delim=' ', float offset=0.0f)</td></tr>
<tr class="memdesc:gacd36ecb8de65bd12d8420d4a0ae98a4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">A utility to load facial landmark dataset from a single file.  <a href="../../db/d7c/group__face.html#gacd36ecb8de65bd12d8420d4a0ae98a4b">More...</a><br /></td></tr>
<tr class="separator:gacd36ecb8de65bd12d8420d4a0ae98a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9bbdd4136cc1eee55586b5f115d8a3a8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7c/group__face.html#ga9bbdd4136cc1eee55586b5f115d8a3a8">cv::face::loadTrainingData</a> (String imageList, String groundTruth, std::vector&lt; String &gt; &amp;images, OutputArray facePoints, float offset=0.0f)</td></tr>
<tr class="memdesc:ga9bbdd4136cc1eee55586b5f115d8a3a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">A utility to load facial landmark information from the dataset.  <a href="../../db/d7c/group__face.html#ga9bbdd4136cc1eee55586b5f115d8a3a8">More...</a><br /></td></tr>
<tr class="separator:ga9bbdd4136cc1eee55586b5f115d8a3a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3a2d046686d932425d2601b640d97d3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7c/group__face.html#gac3a2d046686d932425d2601b640d97d3">cv::face::loadTrainingData</a> (std::vector&lt; String &gt; filename, std::vector&lt; std::vector&lt; Point2f &gt; &gt; &amp;trainlandmarks, std::vector&lt; String &gt; &amp;trainimages)</td></tr>
<tr class="memdesc:gac3a2d046686d932425d2601b640d97d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function extracts the data for training from .txt files which contains the corresponding image name and landmarks. The first file in each file should give the path of the image whose landmarks are being described in the file. Then in the subsequent lines there should be coordinates of the landmarks in the image i.e each line should be of the form x,y where x represents the x coordinate of the landmark and y represents the y coordinate of the landmark.  <a href="../../db/d7c/group__face.html#gac3a2d046686d932425d2601b640d97d3">More...</a><br /></td></tr>
<tr class="separator:gac3a2d046686d932425d2601b640d97d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.6-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 2 2021 11:36:33 for OpenCV by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
<script type="text/javascript">
//<![CDATA[
addTutorialsButtons();
//]]>
</script>
</body>
</html>
